package com.ruoyi.cs.domain;

import java.util.Date;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 战令对象 t_war
 * 
 * @author ruoyi
 * @date 2023-12-11
 */
@Data
public class TWar extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 战令ID */
    @ApiModelProperty(value = "战令ID")
    private Long id;

    @ApiModelProperty(value = "战令映射ID")
    private String objectId;

    /** 战令名称 */
    @NotBlank
    @ApiModelProperty(value = "战令名称")
    private String name;

    /** 战令状态 0-未上线 1-已上线 2-已结束 */
    @ApiModelProperty(value = "战令状态 0-未上线 1-已上线 2-已结束")
    private Integer warStatus;


    /** 起始时间 */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "起始时间")
    private Date beginTime;

    /** 截止时间 */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "截止时间")
    private Date closeTime;

    /** 每周经验上限 */

    private String weeklyLimit;

    /** 删除标志 0 正常  1 冻结 2 删除 */
    private String delFlag;

    /** 版本号 */
   @ApiModelProperty(value = "版本号")
    private Long version;

    @ApiModelProperty(value = "最高等级")
   private Integer maxGrate;

    @ApiModelProperty(value = "参与用户数量")
    private Long joinUserNumber;

    @ApiModelProperty(value = "每周经验上限,传数组，{1:200,2:500}")
    private JSONObject weeklyLimitObj;
}
